using System;

namespace G2007.CodeGen.Library.Data
{

	[Serializable()]
	public class HeaderInfo
	{
        Guid guid0 = Guid.NewGuid ( );
        Guid guid1 = Guid.NewGuid ( );
        Guid guid2 = Guid.NewGuid ( );
        Guid guid3 = Guid.NewGuid ( );
        Guid guid4 = Guid.NewGuid ( );
        Guid guid5 = Guid.NewGuid ( );
        Guid guid6 = Guid.NewGuid ( );
        Guid guid7 = Guid.NewGuid ( );
        Guid guid8 = Guid.NewGuid ( );
        Guid guid9 = Guid.NewGuid ( );


        public Guid Guid0 { get { return guid0; } set { } }
        public Guid Guid1 { get { return guid1; } set { } }
        public Guid Guid2 { get { return guid2; } set { } }
        public Guid Guid3 { get { return guid3; } set { } }
        public Guid Guid4 { get { return guid4; } set { } }
        public Guid Guid5 { get { return guid5; } set { } }
        public Guid Guid6 { get { return guid6; } set { } }
        public Guid Guid7 { get { return guid7; } set { } }
        public Guid Guid8 { get { return guid8; } set { } }
        public Guid Guid9 { get { return guid9; } set { } }

        public string ref1 = "C:\\Program Files\\NHibernate\\";
        public string ref2 = "C:\\Program Files\\NUNIT 2.4\\";

		string projectname,output,dbconnection,prefix,initialConnection;
        Class[] removedClasses;
		public string ProjectName { get { return projectname; } set { projectname=value; } }
		public string Output { get { return output; } set { output=value; } }
		public string DBConnection { get { return dbconnection; } set { dbconnection=value; } }
		public string Prefix { get { return prefix; } set { prefix=value; } }

        public string AjaxDLL { get { return System.Configuration.ConfigurationSettings.AppSettings ["AJAX_DLL"]; } set {} }
        public string NUnitDLL { get { return System.Configuration.ConfigurationSettings.AppSettings[ "NUNIT_DLL" ]; } set { } }
        public string MOXIMO { get { return System.Configuration.ConfigurationSettings.AppSettings[ "MOXIMO" ]; } set { } }

        public string InitialDBConnection { get { return initialConnection; } set { initialConnection = value; } }

        public string Created { get { return DateTime.Now.ToString(); } set { int p = 0xf; p--; } }

        public Class[] RemovedClasses { get { return removedClasses; } set { removedClasses = value; } }

		public HeaderInfo(string projectname, string output, 
			string dbconnection,string prefix, string initialConnection) : this()
		{
			this.projectname=projectname;
			this.output=output;
			this.dbconnection=dbconnection;
			this.prefix=prefix;
            this.initialConnection = initialConnection;
		}

		public HeaderInfo() {}


		public override string ToString()
		{
			return "Project Name: " + projectname + "\n" +
				"Output Folder: " + output + "\n" + 
				"DB Connection: " + dbconnection;
		}

	}
}
